import { fileURLToPath, URL } from 'node:url'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueDevTools from 'vite-plugin-vue-devtools'

// https://vite.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    vueDevTools(),
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    },
  },  
  server: {
    //  配置 Vite 开发服务器的相关选项
    proxy: {
    //定义代理规则的对象，键为匹配的请求路径前缀
      '/api': {
    //当请求路径以 /api 开头时，会触发代理规则
        target: 'http://localhost:8080',
    //代理目标地址，即请求将被转发到的后端服务器地址
        secure: false,
    //是否校验 SSL 证书。设置 false 表示不验证，适用于开发环境使用自签名证书的情况
        changeOrigin: true,
    //是否修改请求头中的 Origin 字段为目标服务器地址，设为 true 可避免后端服务器因 Origin 不匹配的情况
        rewrite: (path) => path.replace(/^\/api/, ''), //重写路径 （就是去除前面不需要的，留下'/depts' 给后端进行处理）
    //重写请求路径的函数。这里将请求路径中开头的 /api 替换为空字符串，即去掉 /api 前缀，确保转发到后端的路径正确
    //例如：前端请求 /api/depts 会被转发为 http://localhost:8080/depts(后端的请求路径)
      }
    }
  }
})
